<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
	<link type="text/css" rel="stylesheet"
		href="#{request.contextPath}/css/default.css" />
	<link type="text/css" rel="stylesheet"
		href="#{request.contextPath}/themes/#{preferencias.tema}/skin.css" />
	<link type="text/css" rel="stylesheet"
		href="#{request.contextPath}/syntaxhighlighter/styles/syntaxhighlighter.css" />
<title>AGREGAR MATERIA</title>
</h:head>
<body bgcolor="black">
	<div align="center">
			<h:panelGrid columns="1">
				<h:form id="materia">
					<div align = "center">
						<br /><br />
						<h1><h:outputText value="AGREGAR MATERIA" style="color: red" /></h1>
						<br /><br />
					</div>
					<p:panel id="panel" header="Nueva materia" style="margin-bottom:10px;">
						<p:messages /> 
						<div align = "center">
							<br />
							<h:outputText value="Ingrese los datos de la materia a crear" style="color: black" />
							<br /><br />
							<h:panelGrid columns="3">
								<h:outputText value="Nombre:" style="color: black"/>
								<h:inputText id="nombre" value="#{materiaBean.materia.nombre}" required="true" requiredMessage = "Ingrese el nombre de la materia" rendered="#{materiaBean.accion == 'registrar'}"  >
									<f:validateLength minimum="2" maximum="50" />
								</h:inputText> 
								<h:inputText id="nombreImput" value="#{materiaBean.materia.nombre}" required="true" readonly="true" rendered="#{materiaBean.accion != 'registrar'}" >
								</h:inputText>
								<p:message for="nombre" /> 
							</h:panelGrid>
							<h:panelGrid columns="2">
								<h:outputText value="Numero de creditos:" style="color: black" partialSubmit="true"/> 
								<h:selectOneMenu value ="#{materiaBean.materia.numeroDeCreditos}">
									<f:selectItem itemValue="1" />
									<f:selectItem itemValue="2" />
									<f:selectItem itemValue="3" />
									<f:selectItem itemValue="4" />
								</h:selectOneMenu>
								
								<h:outputText value="Tipo de materia:" style="color: black" partialSubmit="true"/> 
								<h:selectOneMenu value ="#{materiaBean.materia.tipo}">
									<f:selectItem itemValue="Curso" />
									<f:selectItem itemValue="Credito" />
								</h:selectOneMenu>
							</h:panelGrid>
							<br />
							<p:commandButton value="Aceptar" update="materia fdatos" 
								actionListener="#{materiaBean.adicionarMateria}" style="margin-right:20px;" rendered="#{materiaBean.accion == 'registrar'}"/>
							<p:commandButton value="actualizar" update="materia fdatos" 
								actionListener="#{materiaBean.actualizarMateriaDeBD}" style="margin-right:20px;" rendered="#{materiaBean.accion != 'registrar'}"/>
							<p:commandButton value="Cancelar" update="materia fdatos" 
								actionListener="#{materiaBean.cancelar}" style="margin-right:20px;" rendered="#{materiaBean.accion != 'registrar'}"/>
						</div>
					</p:panel>
				</h:form>
			</h:panelGrid>
		</div>
	
		<div align="center">
			<br />
			<h1><h:outputText value="MATERIAS EXISTENTES EN LA BASE DE DATOS" style="color: red" /></h1>
			<br />
		</div>
		<div align="center">
			<h:panelGrid columns="1">
				<h:form id="fdatos" prependId="false">
					<p:dataTable id="tabla" value="#{materiaBean.materias}" var="materia" paginator="true" rows="5" emptyMessage="No hay materias registrados">
						<p:column filterBy="#{materia.nombre}" filterMatchMode="startsWith" footerTex="comienza por">
							<f:facet name="header"><h:outputText value="Nombre" /></f:facet>
							<h:outputText value="#{materia.nombre}" />
						</p:column>
						<p:column filterBy="#{materia.materia.numeroDeCreditos}" filterMatchMode="startsWith" footerTex="comienza por">
							<f:facet name="header"><h:outputText value="Numero de creditos" ></h:outputText></f:facet>
							<h:outputText value="#{materia.numeroDeCreditos}"/>
						</p:column>
						<p:column filterBy="#{materia.tipo}" filterMatchMode="startsWith" footerTex="comienza por">
							<f:facet name="header"><h:outputText value="Tipo de materia" /></f:facet>
							<h:outputText value="#{materia.tipo}"/>
						</p:column>
						<p:column>
							<f:facet name="header"><h:outputText value="Eliminar" /></f:facet>
							<p:commandButton update="display" oncomplete="dialogoEliminar.show()" image="ui-icon ui-icon-trash">
								<f:setPropertyActionListener value="#{materia}" target="#{materiaBean.materia}" />
							</p:commandButton>
						</p:column>
						<p:column>
							<f:facet name="header"><h:outputText value="Actualizar" /></f:facet>
							<p:commandButton update="materia" image="ui-icon ui-icon-refresh">
								<f:setPropertyActionListener value="actualizar"	target="#{materiaBean.accion}" />
								<f:setPropertyActionListener value="#{materia}"	target="#{materiaBean.materia}" />
							</p:commandButton>
						</p:column>
					</p:dataTable>
					
					<div align="center">
						<p:panel id="panelExportacion" header="Exportacion" style="margin-bottom:10px;">
							<div align="center">
								<h:panelGrid columns="5">
									<h:outputText value="Exportar datos de la tabla:" style="color: black" />
									<h:commandLink>
										<p:graphicImage value="/images/pdf.png" />
										<p:dataExporter type="pdf" target="tabla" fileName="materias" />
									</h:commandLink>
									<h:commandLink>
										<p:graphicImage value="/images/excel.png" />
										<p:dataExporter type="xls" target="tabla" fileName="materias" />
									</h:commandLink>
									 <h:commandLink>  
							            <p:graphicImage value="/images/csv.png" />  
							            <p:dataExporter type="csv" target="tabla" fileName="materias" />  
							        </h:commandLink>  
							        <h:commandLink>  
							            <p:graphicImage value="/images/xml.png" />  
							            <p:dataExporter type="xml" target="tabla" fileName="materias" />  
							        </h:commandLink> 
								</h:panelGrid>
							</div>
						</p:panel>
					</div>
					
					<p:dialog header="materia" widgetVar="dialogoEliminar"
						resizable="false" width="350" showEffect="explode"
						hideEffect="explode" modal="true">
						<h:panelGrid id="display" columns="2" cellpadding="4">
							<h:outputText value="Nombre de la materia:" />
							<h:outputText value="#{materiaBean.materia.nombre}" />
							<h:outputText value="Numero de creditos:" />
							<h:outputText value="#{materiaBean.materia.numeroDeCreditos}" />
							<h:outputText value="Tipo de materia:" />
							<h:outputText value="#{materiaBean.materia.tipo}" />
							<p:commandButton update="fdatos materia" actionListener="#{materiaBean.eliminarmateriaDeBD}"
								image="ui-icon ui-icon-trash" oncomplete="dialogoEliminar.hide()" value="Eliminar">
								<f:setPropertyActionListener value="#{materia}" target="#{materiaBean.materia}" />
							</p:commandButton>
							<p:commandButton oncomplete="dialogoEliminar.hide()" image="ui-icon ui-icon-cancel" value="Cancelar">
							</p:commandButton>
						</h:panelGrid>
					</p:dialog>
				</h:form>
			</h:panelGrid>
		</div>	
		<h:form>
		<br/><br/>
			<div align="center">
				<h:commandButton value="Volver a menu principal" action="/Paginas/paginasIniciales/paginaInicioAdministrativo.xhtml" style="margin-right:40px;" />
			</div>
		<br/><br/>
		</h:form>
</body>
</html>